DoTweenerのパラメーターを実行時に変更する
- 2009 年 6月 23 日
必要にかられてAPI Refarenceを読み直したら気づいたこと。
DoTweenerのparametersってプロパティ。
ここにはコマンド作成時に設定したパラメーターが入っています。さらに設定も可能とある。
ということは、.beforとか.afterとか、コマンドの実行前後に実行する関数でparametersの値を変更するなんてことも出来るハズと思いやってみました。
SerialListに四隅に移動し続けるDoTweenerコマンドを4つ指定して、全てに.beforを設定。
.beforはテキストエリアの値をとって自コマンドのparametersのtimeに設定するってサンプル。
DoTweenerのパラメーターを実行時に変更する
This movie requires Flash Player 10.0.0
public class IndexScene extends SceneObject{ public function IndexScene(){ this.square = new Square( { x:25, y:25 } ); this.field = new TextField(); this.field.border = true; this.field.type = TextFieldType.INPUT; this.field.defaultTextFormat = new TextFormat( "_ゴシック", 14, null, null, null, null, null, null, TextFormatAlign.CENTER ); this.field.width=100; this.field.height=30; this.field.x = 150; this.field.y = 185; this.comm = new SerialList( null, new DoTweener( this.square, { x:375, y:25, transition:"easeNone", time:1 } ) .before( function():void{ var n:Number = Number( field.text ); this.parameters.time = (n) ? n : 1; }), new DoTweener( this.square, { x:375, y:375, transition:"easeNone", time:1 } ) .before( function():void{ var n:Number = Number( field.text ); this.parameters.time = (n) ? n : 1; }), new DoTweener( this.square, { x:25, y:375, transition:"easeNone", time:1 } ) .before( function():void{ var n:Number = Number( field.text ); this.parameters.time = (n) ? n : 1; }), new DoTweener( this.square, { x:25, y:25, transition:"easeNone", time:1 } ) .before( function():void{ var n:Number = Number( field.text ); this.parameters.time = (n) ? n : 1; }), new Func( function():void{ this.parent.reset() } ) ) } public var field:TextField; public var square:Square; public var comm:SerialList; protected override function _onInit():void{ addCommand( new AddChild( this.progression.container, this.field ), new AddChild( this.progression.container, this.square ), comm ); } } |
今迄、全然気づかなかった。これは便利なところもあるんじゃないでしょうか。